import { constantRoutes, asyncRoutes } from '@/router' // 导入静态路由 动态路由

const state = () => {
  return {
    //   默认静态路由表,所有用户都可以看到的,例如首页
    routes: constantRoutes
  }
}

const mutations = {
  // otherRoutes登录成功后,需要添加的新路由
  setRoutes(state, otherRoutes) {
    //   静态路由基础上,累加其他权限路由
    state.routes = [...constantRoutes, ...otherRoutes]
  }
}
const actions = {
//  筛选路由权限
  filterRoutes(context, menus) {
    const otherRoutes = asyncRoutes.filter(item => {
      // 如果路由模块的首页name, 在menus数组中包含, 就是这个模块开放
      return menus.includes(item.children[0].name)
    })
    context.commit('setRoutes', otherRoutes)
    return otherRoutes
  }
}
const getters = {}

export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters
}
